System and method for content delivery and presentation

ABSTRACT

A system and method for content delivery and presentation at remote devices. The content may be presented in the form of objects in a workspace of a folio created by one or more content managers. The content manager may then allow authorized users to access or download the workspace through various user devices having browser-based web services or applications executing thereon. Further, the content manager may assign conditional operating parameters to each object or set of objects such that only specific users have access or an ability to download the object or the application for interacting with the object. Further yet, the content manager may specify relationships between objects such that users may only use or download the objects in a specific order. The content manager may have several other levels of control of the sets of objects and the objects in the workspace.

PRIORITY CLAIM

This application claims the benefit of U.S. Provisional Application No.62/104,003, entitled “System and Methods for Content Delivery andPresentation,” filed Jan. 15, 2015, which is incorporated by referencein its entirety herein for all purposes.

RELATED APPLICATION DATA

The present application is related to U.S. patent application Ser. No.14/997,158, entitled SYSTEM AND METHOD FOR CYCLING CACHED OBJECTS filedJan. 15, 2016; and is related to U.S. patent application Ser. No.14/997,201, entitled SYSTEM AND METHOD FOR AN INSTANTIABLE OPERATINGSYSTEM WITH A CONTENT DELIVERY AND PRESENTATION SYSTEM filed Jan. 15,2016, all of the foregoing applications are incorporated herein byreference in their entireties.

BACKGROUND

The internet and the internet of things provides a myriad of computingdevices by which people can use, access, share, download, copy, consume,modify, and discuss content and applications that are also often storedacross a great number of different repositories. Some applicationsprovide a means by which a person may collect content in one repositoryeither via establishing an actual content copy or a link to the actualcontent copy. Further, such a person may establish a relationship toanother person with whom content can be shared through various meansincluding by access to the repository of content such that both peoplecan use, access, download, copy, consume, modify, and discuss thecontent.

However, once access is granted to the second person, the second personcan edit, remove, destroy, ignore or otherwise control the contenttherein. The initial person does not have very much control over how andwhen the second person views or uses the content.

BRIEF DESCRIPTION OF THE DRAWINGS

Aspects and many of the attendant advantages of the claims will becomemore readily appreciated as the same become better understood byreference to the following detailed description, when taken inconjunction with the accompanying drawings, wherein:

FIG. 1 is a diagram of a suitable computing network for practicingvarious aspects of a content management system and method according toan embodiment of the subject matter disclosed herein.

FIG. 2 is a diagram of aspects of the computer network of FIG. 1 showinga functional flow of operations according to an embodiment of thesubject matter disclosed herein.

FIG. 3 shows an example screen shot of a folio space according to anembodiment of the subject matter disclosed herein.

FIG. 4 shows a flow chart of a method for creating and using a folioaccording to an embodiment of the subject matter disclosed herein.

FIG. 5 is a diagram of a suitable computing environment for practicingvarious aspects of the disclosed subject matter according to anembodiment of the subject matter disclosed herein.

Note that the same numbers are used throughout the disclosure andfigures to reference like components and features.

DETAILED DESCRIPTION

The subject matter of embodiments disclosed herein is described herewith specificity to meet statutory requirements, but this description isnot necessarily intended to limit the scope of the claims. The claimedsubject matter may be embodied in other ways, may include differentelements or steps, and may be used in conjunction with other existing orfuture technologies. This description should not be interpreted asimplying any particular order or arrangement among or between varioussteps or elements except when the order of individual steps orarrangement of elements is explicitly described.

Embodiments will be described more fully hereinafter with reference tothe accompanying drawings, which form a part hereof, and which show, byway of illustration, exemplary embodiments by which the systems andmethods described herein may be practiced. This systems and methods may,however, be embodied in many different forms and should not be construedas limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy thestatutory requirements and convey the scope of the subject matter tothose skilled in the art.

Among other things, aspects may be embodied in whole or in part as asystem, as one or more methods, or as one or more devices. Embodimentsmay take the form of a hardware implemented embodiment, a softwareimplemented embodiment, or an embodiment combining software and hardwareaspects. For example, in some embodiments, one or more of theoperations, functions, processes, or methods described herein may beimplemented by one or more suitable processing elements (such as aprocessor, microprocessor, CPU, controller, or the like) that is part ofa client device, server, or other form of computing device and that isprogrammed with a set of executable instructions (e.g., softwareinstructions), where the instructions may be stored in a suitable datastorage element or any non-transitory computer-readable medium. In someembodiments, one or more of the operations, functions, processes, ormethods described herein may be implemented by a specialized form ofhardware, such as a programmable gate array, application specificintegrated circuit (ASIC), or the like. The following detaileddescription is, therefore, not to be taken in a limiting sense.

By way of overview, the subject matter disclosed herein may be directedto a system and method for content delivery and presentation. Thecontent may be presented in the form of objects in a workspace of afolio created by a content manager. The content manager may furtherinvite other users to collaborate as additional content managers and/orre-assign ownership of the folio, i.e., an individual responsible ascontent manager. The content manager may then allow authorized users toaccess or download the workspace through various user devices havingbrowser-based web services or applications executing thereon. Further,the content manager may assign conditional operating parameters to eachobject or set of objects such that only specific users have access or anability to download the object or the application for interacting withthe object. Additional conditional operating parameters may also includedownload permissions, editing permissions, hidden or visible status, andother aspects of file management. Further yet, the content manager mayspecify relationships between objects such that users may only use ordownload the objects in a specific order. The content manager may haveseveral other levels of control of the sets of objects and the objectsin the workspace.

With such a folio of objects in place, a content manager may solve theproblem of conditional access to objects by various users (or set ofusers, such as organizations, groups, and entities) based on arelationship to the object, the folio, other users. Other user's action,the user's actions, and time. Thus, one purpose of the subject matterdisclosed herein is to provide a content manager with several levels ofcontrol over content being disseminated to several users across severaldevices. These and other aspects are better understood with respect tothe description associated FIGS. 1-5 in the following paragraphs.

FIG. 1 illustrates an exemplary architecture of a networked computersystem in which aspects of the system and applications described hereinas may be practiced. Modern computer networks incorporate layers ofvirtualization so that physically remote computers and computercomponents can be allocated to a particular task and then reallocatedwhen the task is done. Users sometimes speak in terms of computing“clouds” because of the way groups of computers and computing componentscan form and split responsive to user demand, and because users oftennever see the computing hardware that ultimately provides the computingservices. More recently, different types of computing clouds and cloudservices have begun emerging.

In some embodiments, the subject matter disclosed herein may beimplemented in the context of a multi-user, “cloud” based environment,typically used to develop and provide web services for content managersand end users. Note that embodiments may also be implemented in thecontext of other computing or operational environments or systems, suchas for an individual business data processing system, a remote oron-site data processing system, other form of client-serverarchitecture, and the like.

In FIG. 1, a server computer 108 is shown with various computing objectsthat include at least an example operating environment 100 which, inturn, includes a variety of clients 102 incorporating and/orincorporated into a variety of computing devices that may communicatewith a distributed computing platform 108 through one or more networks114. For example, a user may incorporate and/or be incorporated into aclient application (e.g., software) implemented at least in part by oneor more of the computing devices. Examples of suitable computing devicesinclude personal computers, server computers 104, desktop computers 106,laptop computers 107, notebook computers, tablet computers or personaldigital assistants (PDAs) 110, smart phones 112, cell phones, andconsumer electronic devices incorporating one or more computing devicecomponents, such as one or more electronic processors, microprocessors,central processing units (CPU), or controllers. Examples of suitablenetworks 114 include networks utilizing wired and/or wirelesscommunication technologies and networks operating in accordance with anysuitable networking and/or communication protocol (e.g., the Internet).

The distributed computing platform 108 may include multiple processinglevels, including a user interface level 116, an application serverlevel 120, and a data storage level 124. The user interface tier 116 maymaintain multiple user interfaces 117 a-117 x, including graphical userinterfaces and/or web-based interfaces and/or application programminginterface. As discussed further below, the user interfaces may beprovided to various users in the form of a folio application havingcontent managed therein. The user interfaces may include a default userinterface for the service to provide access to applications and data fora user or “tenant” of the service, as well as one or more userinterfaces that have been specialized/customized in accordance with userspecific requirements (e.g., represented by “User A”, . . . , “User Z”in the figure, and which may be accessed via one or more APIs). Thedefault user interface may include components enabling a user toadminister the user's participation in the functions and capabilitiesprovided by the platform, such as accessing data and objects, causingthe execution of specific data processing operations, and the like. Eachprocessing level shown in FIG. 1 may be implemented with a set ofcomputers and/or computer components including computer servers andprocessors, and may perform various functions, methods, processes, oroperations as determined by the execution of a software application orset of instructions. The data storage level 124 may include one or moredata stores, which may include a service data store 125 and one or moreuser data stores 126 a-126 x. Each data store 126 a-126 x may correspondto one or more folios, each having a manifest, which is discussedfurther below with respect to a folio in FIG. 2.

Each user data store 126 may contain user-specific data and content thatis used as part of providing a range of user-specific business content,services, or functions. In accordance with one embodiment, thedistributed computing platform 108 may be a multi-user and serviceplatform 108 and may be operated by an entity in order to providemultiple users with a set of business related content, applications,data storage, and functionality. These applications and functionalitymay include ones that a business uses to educate and inform users in anorganization, both on the employee side of the business as well ascustomer-facing solutions and content. For example, the applications andfunctionality may include providing web-based access to specificcontent, thereby allowing a user with a browser and an Internet orintranet connection to view, enter, process, or modify certain types ofcontent and media. Further, the application and functionality may alsoinclude offline storage and use of data via plugins or other localapplications.

The integrated business system shown in FIG. 1 may be hosted on adistributed computing system made up of at least one, but typicallymultiple, “servers.” A server 108 is a physical computer dedicated torun one or more software services intended to serve the needs of theusers of other computers in data communication with the server, forinstance via a public network such as the Internet or a private“intranet” network. The server 108, and the services it provides, may bereferred to as the “host” and the remote computers and the softwareapplications running on the remote computers may be referred to as the“users” or “clients.” Depending on the computing service that a serveroffers it could be referred to as a database server, file server, mailserver, print server, web server, and the like. A web server is a mostoften a combination of hardware and the software that helps delivercontent (typically by hosting a website) to client web browsers thataccess the web server via the Internet.

FIG. 1 is a diagram illustrating details of the elements or componentsof the distributed computing platform in which an embodiment may beimplemented. The software architecture depicted in FIG. 1 represents anexample of a complex software system to which an embodiment may beapplied. In general, an embodiment may be applied to any set of softwareinstructions embodied in one or more non-transitory, computer-readablemedia that are designed to be executed by a suitably programmedprocessing element (such as a CPU, microprocessor, processor,controller, computing device, and the like). In a complex system, suchinstructions are typically arranged into “modules” (sometimes calledservices) with each such module performing a specific task, process,function, or operation. The entire set of modules may be controlled orcoordinated in their operation by an operating system (OS) or other formof organizational platform.

Note that the example computing environments depicted in FIG. 1 are notintended to be limiting examples. Alternatively, or in addition,computing environments in which embodiments may be implemented includeany suitable system that permits users to access, process, and utilizecontent and data stored in a data storage element (e.g., a database)that can be accessed remotely over a network. Although further examplesbelow may reference the example computing environment depicted in FIG.1, it will be apparent to one of skill in the art that the examples maybe adapted for alternate computing devices, systems, and environments.

FIG. 2 is a diagram of aspects of the computer network of FIG. 1 showinga functional flow of operations according to an embodiment of thesubject matter disclosed herein. The functional flow may encompassoperations between two or more computing entities in a networked orcloud-based computing environment or may encompass activity solelywithin a single computing entity. As such, the steps and or operationsdescribed with respect to FIG. 2 are but one possible way in which thesystems and methods discussed herein may be embodied.

To invoke the various systems and methods described herein, a manager ofcontent (e.g., a content creator, business manager, supervisor, trainer,subject matter expert, and the like) may establish a folio for handlingvarious objects having content for viewing, execution, or use by usersof such content. The folio (sometimes called a MediaFolio™) is a contentpresentation and delivery software-based mechanism that facilitatessharing content, instructions, and information with employees,customers, and other audiences in a private, branded, experience. Thefolio may be created using a first application, such as aFolioComposer™, that may be executing on a first computing device, suchas a content manager desktop computer 106. Through a compositionapplication, a content manager may use a pre-defined template orestablish a unique folio that includes information, content, andbranding that is focused on a specific audience, such as employees,customers, guests, management, and the like. Typically, the breadth ofthis data that is stored in the context of a folio may be referred to asa manifest. With the manifest, the underlying data may be saved intospecific formats for use across many devices as .folio files, .zipfiles, .pdf files, and the like. As a folio is created, the contentmanager may draw content and information from a local memory (local tothe desktop computer 106) or from a server computer 108. Further, theapplication may be executed locally at the desktop computer 106 or maybe executed at the server computer 108 while being manipulated remotely(via a browser-based application) from the desktop computer 106. For thepurposes of this example, the execution of the creation application isshown as being at the server computer with control by a client computer106. Further, the content itself may reside on any computing device thatmay be communicatively coupled to the client computer 106 and/or theserver computer 108.

At 212, the content may be added to the folio in the form of objects. Inthis context, the content or objects may refer to commonly used computerfiles having information, data, and/or media. Such common examples ofobjects to be placed in a folio include audio files, such as .mp3, .wav,.m4p, .wma, and the like, document files, such as .doc, .pdf, .txt andthe like, video files such as .mov, .avi, .mpeg and the like, imagefiles such as .gif, .png, .jpg, .tiff, and the like and other multimediafile types such as .ppt and the like. In short, any file type ofcomputer file may be used to populate a folio for use by users of thefolio including smart objects, executable objects, embeddedapplications, live objects, or any other computer-executable set ofinstructions that are grouped together as an object.

The content manager may coordinate additional decisions with regard tothe content presentation such as images (for background, headers, iconsrepresenting files), colors, fonts, icon placement order, location inthe folio, icon representation, naming, labeling, and other conditionalparameters for execution, consumption, manipulation, and deletion. Thatis, the content manager may configure each object in the folio to haveone or more conditional operating parameters or conditional executionparameters at 214.

In a first example of a conditional operating parameter, the contentmanager may configure an object to include a condition for executionpredicated upon the credentials of a user attempting to execute theobject. That is, the object, such as a video file, may be configured toonly be executable by a specific user or set of users. At a user device,the user may be categorized into a specific group or user setting when afolio is downloaded. Based on how the user is categorized, specificexecution condition parameters for various files may or may not be met.If the condition is met based upon a category of a user, then the objectmay be able to be executed. For example, a content manager may place acondition on an object such that the object is only executable to userscategorized as employee while other users (such as contractors,customers, or any other kind of user designation) will be unable toexecute (or even view) the object from the folio.

Another example of a conditional operating parameter includes acondition for execution predicated upon the execution of at least onedifferent content object prior to enabling execution of the at least onecontent object. Another example of a conditional operating parameterincludes a condition for execution predicated upon the execution of theat least one content object by at least one different user. Anotherexample of a conditional operating parameter includes a condition forexecution predicated upon a timeframe. These conditions are discussed ingreater detail below with respect to FIG. 4.

Once the folio has been created and desired objects have conditionaloperating parameters established according to the desires of the contentmanager, the folio may be sent to folio users at a respective folio userdevice 112 at 216. The folio user device 112 may be a portable computingdevice such as a tablet computer, a laptop computer, a smartphone, asmart tablet, and the like. In one embodiment, the folio is sent to eachconfigured device 112 in a push format. That is, when the folio is readyor updated, the folio is automatically sent to each configured device112 without a prompting from each device 112. In other embodiments, thefolio may be downloaded proactively from a cloud computing environmentto the device 112.

Once downloaded at the user device 112, the user device may alreadyinclude a local application executable at the local device 112. Thelocal application may be called the MediaFolio application and providesa platform for receiving and displaying a folio as prepared by a contentmanager. The MediaFolio application may be executable in the context ofa local operating system (sometimes called a “personal use” embodiment)or may supplant some or all aspects of the local operating system(sometimes called a “managed device” embodiment) such that onlymanipulation functions through the MediaFolio application are available.Through the MediaFolio application, the user may execute and consume thevarious objects available in the folio at 218 (assuming the conditionsof the conditional operating parameters are satisfied or met).Additional control parameters may be used, such as establishing passwordor pin in order to wake the device or execute the MediaFolioapplication.

At 220, as content is consumed, various communications may be made backto the server computer 108 indicating the consumption of content. Thisin turn may effect a notification to the content manager at 222 or mayengage additional chat functionality or analytics. If other objects inthe folio have a condition predicated upon consumption of other objects,the condition may be met as the user consumes content of the initialobject or conditioned object. As a result, objects already downloadedmay be “unlocked” for consumption. In other embodiments, the consumptionof initial objects may trigger the download of new objects at 224. Thisassists with keeping certain content off of or locked within deviceswith limited memory space until the object are to be used. An example ofthis may be a series of training videos that should be viewed in order,whereby the next video in a series is only downloaded once a user hasconsumed (e.g., watched) the first video. This process may be repeatedoften as a user consumes the newly pushed content at 226 and triggerscommunications to the server at 228 and notification to the contentmanager at 230.

In general, the computing environments of FIGS. 1-2 provide acloud-based computing environment in which an end user of contentmanagement and delivery system and method may manage content with agreat amount of control over how and when content in a managed folio isconsumed and control over who consumes such content. The controlmechanism for a content manager is realized through a MediaFolioapplication executing at the local user device. Aspects of theMediaFolio application are discussed next with respect to FIG. 3.

FIG. 3 shows an example screen shot 300 of a folio according to anembodiment of the subject matter disclosed herein. A content manager maycreate the folio having a workspace 310 (sometimes called a section)having a workspace title 311. This workspace 310 serves as a repositoryfor objects having content that the content manager wishes todisseminate to authorized users or groups. The workspace 310 may includeadditional sections to further sort or categorize objects. Thisworkspace may include a title 311 or any kind of branding information(e.g., company names, logos, images, colors, font styles, and the like).The workspace 310 may be created on a local device, such as the contentmanager's computer 106 of FIG. 2, and shared in the cloud with aphysical presence at a server computer, such as server computer 108 ofFIG. 2, within the computing environment as discussed above or sent inits entirety to other user(s). A workspace 310 may be saved into asingle file such as into a .folio format and shared directly to a usercomputer, such as client device 112 of FIG. 2, or posted to a thirdparty cloud (i.e., Dropbox™) or to a remote server computer, rather thanjust served through a cloud service.

The workspace 310 may be part of an overall web-based service or deviceapplication for managing and presenting content as discussed above. Thatis, the overall computing system may include a first computer forcreating and generating the folio using a FolioComposer application andthen shared and used by other computing devices using the localMediaFolio application. For example, either application may be part of aweb-based service application that is accessed through a computerexecuting a web browser or be a native application on that computer'splatform. Further, the workspace 310 may be part of a dedicatedapplication that executes on one or more computing devices. Further yet,objects, content, and executables may be served to each user device viaa networked environment via cloud services.

These applications may have additional control elements that areaccessible on different aspects of the overall application. Suchadditional menus and tools may be accessed, in this embodiment, via aninitial workspace construction page (which workspace owners andauthorized users can open a workspace to edit via an edit button notshown here). Further menus may be accessed via soft button, longpresses, control clicks, or similar means 320.

The workspace 310 may be populated with objects, such as objects 312 and314. These objects may be any object that may be created in computing ingeneral. Each object may include a number of properties, values, androutines associated with individual users, underlying content,executable instructions, application links, and the like. The objectsmay be associated with specific underlying content, such as a videofile, such that additional aspects of the object may also then determineadditional details for use, such as users who may have permission to usethe object, which application should render the content, and the like.Each object may be configured with conditional operating parameters asdiscussed above.

Once objects are present in the workspace 310, the content manager andany other users (who have proper permissions, as discussed furtherbelow) may then see the objects in the workspace 310. Permissions may begranted at a workspace/folio level as well. Further yet, permissions maygrant access to encrypted filed or unlock additional actions such ascopying or moving files. Without proper permissions of each kind, a usermay not be able to interact with objects because of encryption or maynot have the ability to copy or move objects.

One conditional operating parameter that may be defined is userpermission for a number of different actions. For example, the contentmanager may define a condition as a permission to even access theworkspace 310 let alone see any object in the workspace 310 by definingglobal workspace permission for users. Similarly, the content managermay define a condition for permission on an object-by-object basis andon a user-by-user basis such that each individual object with respect toeach individual user includes defined permissive relationship in theform of a conditional operating parameter.

Another conditional operating parameter that may be defined is acondition for an application link. The content manager may define anexecutable application that is linked to the object. Further, the objectitself may, in fact, be an executable application. Invocation of such anobject may then follow the defined linked application relationship.

Another conditional operating parameter that may be defined is acondition for a relationship with another object. Thus, a contentmanager may define a hierarchical order in which objects may bepresented, invoked, downloaded, or consumed. For example, a series ofinstructional videos may need to be viewed in order. Thus, a secondvideo object may be disabled until a first video object is instantiatedand rendered in its entirety. Thus, the second video object may includea conditional operating parameter based on the condition of the playbackof a first video object. Further, the second video object may not evenbe visible until after rendering the first video object. Objectdownloads may also be triggered by actions of a first object via definedtransactional relationships.

Another conditional operating parameter that may be defined is acondition for a relationship with another workspace or folio. Thus, acontent manager may define a hierarchical order in which objects may bepresented, invoked, downloaded, or consumed in relation to otherworkspace or folio uses. For example, folios associated with a boss mayhave object that, after being viewed, trigger a download to allemployees' folios. This may be useful for an organization to disseminateinformation to management prior to letting staff know about anannouncement.

Another conditional operating parameter that may be defined is arelationship with another user. Similar to above where an object mayhave defined relationships to other objects, such as a hierarchicalrelationship, may also be arranged by user. Thus, a first group of users(for example, workers on floor 42) may need to first complete a viewingof a video object before a second group of users (for example, workerson floor 43) can begin viewing the video object.

Further, access to the workspace 310 may be set by the content managerfor any additional user or group including whether the user has editableaccess or simply view access in the workspace or other levels of access.Further yet, the content manager may set a perishable time and date forworkspaces and all content and may set whether cached copies are movedin or out of the physical device of the user or not. The interface is acustomizable and brandable presentation of one or more workspaces andmay draw content from multiple external content sources. Workspaces canbe organized into named and branded sections. The objects in theworkspace's sections may be presented in a selectable order and may beselectively enabled for execution only in the selected order. Theworkspace may also be delivered as a self-contained package that alsopermits offline viewing.

FIG. 4 shows a flow chart of a method for creating and using a folioworkspace according to an embodiment of the subject matter disclosedherein. In this method, a content manager may create, edit, distribute,and use a folio workspace having many different objects having differingcharacteristics and discussed above. In this embodiment, the method maybegin at step 400 and proceed to step 402 where a content manager maycreate a new folio workspace within a web browser, dedicatedapplication, programmatically, or combination thereof.

Once an initial workspace is created, the content manager may then beginpopulating the various sections with various objects at step 404 andoptionally authorize specific others to collaborate as content managerstoo within that folio. As discussed above, the objects may be mediaobjects such as audio or video files and the like. Further, the objectsmay be document objects such as word processing documents, spreadsheets,databases, and the like. Further yet, the objects may be executablefiles that may be invoked to execute instantiable applications or launcha web-based service.

At step 406, either after, before, or concurrent with populating theworkspace with objects, the content manager or other authorized usersmay establish users who will have at least some access to the workspace,its sections, and/or its objects. Here, the content manager may defineconditional operating parameters on a user-by-user or group basis forall content in the workspace. Such conditional operating parameters maybe initially set to a sharing permission at the workspace level. Otherconditional operating parameters may include permissions at the sectionor object level. Further, the content manager will be able tosunrise/sunset access to the workspace as yet another conditionaloperating parameters.

At step 410, either after, before, or concurrent with populating theworkspace with objects, the content manager or other authorized usersmay establish relationships for users with respect to the workspace, itssections, and or its objects. Here the content manager may define aconditional operating parameter regarding relationships on auser-by-user basis for all content in the workspace in relation to theother users.

At step 412, either after, before, or concurrent with populating theworkspace with objects, the content manager or other authorized usersmay establish relationships between users with respect to the workspace,its sections, and or its objects. Here, the content manager may define aconditional operating parameter regarding relationships on auser-by-user or group basis for all content in the workspace in relationto the other users.

At step 414, either after, before, or concurrent with populating theworkspace with objects, the content manager or other authorized usersmay establish relationships for time or use with respect to theworkspace, its sections, and or its objects. Here, authorized users maydefine a conditional operating parameter for an expiration date or timeor an expiration event.

At step 420, either after, before, or concurrent with populating theworkspace with objects, the content manager or other authorized usersmay move the content in the folio to a workflow state whereby additionalusers may now access the workspace. The access may include editingpermissions, copying permissions, downloading permissions, chatpermissions, and the like.

Once a user has access of some kind, a user may view the objects in theworkspace at step 422, or access objects at step 424, or downloadobjects at step 426 depending on the permission established by thecontent manager.

Any of these steps may be performed in any order as the layout of theflowchart is but one example embodiment of a method described herein.

FIG. 5 and the following discussion are intended to provide a brief,general description of a suitable computing environment in which thesubject matter disclosed herein may be implemented. Although notrequired, aspects of the subject matter disclosed herein will bedescribed in the general context of computer-executable instructions,such as program modules, being executed by a personal computer.Generally, program modules include routines, programs, objects,components, data structures, etc., that perform particular tasks orimplement particular abstract data types. Such program module may beembodied in both a transitory and/or a non-transitory computer readablemedium having computer-executable instructions. Moreover, those skilledin the art will appreciate that the invention may be practiced withother computer system configurations, including hand-held devices,cellular or mobile telephones, multiprocessor systems,microprocessor-based or programmable consumer electronics, network PCs,minicomputers, mainframe computers, and the like. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote processing devices that may be linked through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

With reference to FIG. 5, an exemplary system for implementing thesystems and methods disclosed herein includes a general purposecomputing device in the form of a conventional personal computer 106,including a processing unit 521, a system memory 522, and a system bus523 that couples various system components including the system memoryto the processing unit 521. The system bus 523 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. By way of example, and not limitation, such architecturesinclude Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video ElectronicsStandards Association (VESA) local bus, and Peripheral ComponentInterconnect (PCI) bus also known as Mezzanine bus.

The system memory includes read only memory (ROM) 524 and random accessmemory (RAM) 525. A basic input/output system (BIOS) 526, containing thebasic routines that help to transfer information between elements withinthe personal computer 520, such as during start-up, is stored in ROM524. The personal computer 520 further includes a hard disk drive 527for reading from and writing to a hard disk, not shown, a solid-statedrive 528, and an optical disk drive 530 for reading from or writing toa removable optical disk 531 such as a CD ROM or other optical media.The hard disk drive 527, solid-state drive 528, and optical disk drive530 are connected to the system bus 523 by a hard disk drive interface532, a solid-state drive interface 533, and an optical drive interface534, respectively. The drives and their associated computer-readablemedia provide nonvolatile storage of computer readable instructions,data structures, program modules and other data for the personalcomputer 520. Although the exemplary environment described hereinemploys a hard disk, a solid-state drive 528 and a removable opticaldisk 531, it should be appreciated by those skilled in the art thatother types of computer-readable media which can store data that isaccessible by a computer, such as thumb drives, random access memories(RAMs), read only memories (ROM), and the like, may also be used in theexemplary operating environment.

A number of program modules may be stored on the hard disk, solid-statedrive 528, optical disk 531, ROM 524 or RAM 525, including an operatingsystem 535, one or more application programs 536, other program modules537, and program data 538. A user may enter commands and informationinto the personal computer or other computing devices (not shown) 520through input devices such as a keyboard 540 and pointing device 542.Other input devices (not shown) may include a microphone, joystick, gamepad, satellite dish, scanner, touch screen, or the like. These and otherinput devices are often connected to the processing unit 521 through aserial port interface 546 that is coupled to the system bus, but may beconnected by other interfaces, such as a parallel port, game port or auniversal serial bus (USB). A monitor or display screen 547 or othertype of display device is also connected to the system bus 523 via aninterface, such as a video adapter 548. One or more speakers 557 arealso connected to the system bus 523 via an interface, such as an audioadapter 556. In addition to the monitor and speakers, personal computerstypically include other peripheral output devices (not shown), such asprinters.

The personal computer 520 may also operate in a networked environmentusing logical connections to one or more remote computers, such asremote servers. Each remote server 108 may be another personal computer,a server, a router, a network PC, a peer device or other common networknode, and typically includes many or all of the elements described aboverelative to the personal computer 520. The logical connections depictedin FIG. 5 include a local area network (LAN) 551 and a wide area network(WAN) 552. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the personal computer 520 isconnected to the local network 551 through a network interface oradapter 553. When used in a WAN networking environment, the personalcomputer 520 typically includes a modem 554 or other means forestablishing communications over the wide area network 552, such as theInternet. The modem 554, which may be internal or external, is connectedto the system bus 523. In a networked environment, program modulesdepicted relative to the personal computer 520, or portions thereof, maybe stored in the remote memory storage device. It will be appreciatedthat the network connections shown are exemplary and other means ofestablishing a communications link between the computers may be used.

While the subject matter discussed herein is susceptible to variousmodifications and alternative constructions, certain illustratedembodiments thereof are shown in the drawings and have been describedabove in detail. It should be understood, however, that there is nointention to limit the claims to the specific forms disclosed, but onthe contrary, the intention is to cover all modifications, alternativeconstructions, and equivalents falling within the spirit and scope ofthe claims.

What is claimed is:
 1. A computer-based method of providing content to acomputing device, the method comprising: establishing a first folio forcontent at a folio server computer in a memory in the folio servercomputer; establishing a second folio in a memory of a remote devicethat is communicatively coupled to the folio server computer; populatingthe first folio with at least one content object; assigning the at leastone content object a conditional operating parameter that is satisfiableonly by a user of the remote device and predicated upon an allowedaccess time for enabling execution and a disallowed access time fordisabling execution and predicated upon an execution status of a similarobject in a third folio on a device different from the remote devicesuch that the content object may not be executed unless a conditionassociated with the conditional operating parameter is met; downloadingthe at least one conditionally-executable content object to the secondfolio; executing the conditionally-executable content object at theremote device if the conditional operating parameter associated with theremote device is met by an action of the user of the remote device. 2.The computer-based method of claim 1, further comprising configuring theat least one conditional operating parameter as a condition forexecution predicated upon the credentials of a user attempting toexecute the object.
 3. The computer-based method of claim 1, furthercomprising configuring the at least one conditional operating parameteras a condition for execution predicated upon the execution of at leastone different content object prior to enabling execution of the at leastone content object.
 4. The computer-based method of claim 1, furthercomprising configuring the at least one conditional operating parameteras a condition for execution predicated upon the execution of the atleast one content object by at least one different user.
 5. Thecomputer-based method of claim 1, further comprising configuring the atleast one conditional operating parameter as a condition for executionpredicated upon a timeframe.
 6. The computer-based method of claim 1,further comprising executing the at least one object via a managedexecution environment application configured to be populated with one ormore objects via remote configuration.
 7. The computer-based method ofclaim 1, further comprising: monitoring the execution of the at leastone object; in response to the monitoring of the at least one object,triggering execution of at least one other object.
 8. The computer-basedmethod of claim 1, further comprising: monitoring the execution of theat least one object; in response to the monitoring of the at least oneobject, triggering retrieval of at least one other object.
 9. Thecomputer-based method of claim 1, wherein the content object comprisesone from the group comprised of: a document file, an audio file, a videofile, and audio-video file, a presentation file, a spreadsheet, and animage file.
 10. A device, comprising: a processor configured to executecomputer instructions; a memory coupled to the processor and configuredto store the executable computer instructions; and a folio establishedin the memory having an object area configured to host at least oneconditionally-executable object; wherein the at least oneconditionally-executable object that is executable by the processorcomprises a conditional operating parameter such that the at least oneconditionally-executable object may not be executed by the processorunless a condition assigned to the conditional operating parameter ismet by an executable action of the processor extraneous to theconditionally-executable object; wherein the conditional operatingparameter comprises a condition for execution predicated upon an allowedaccess time for enabling execution and a disallowed access time fordisabling execution; and wherein the conditional operating parametercomprises a condition for execution predicated upon an execution statusof a similar object in a different folio on a different device.
 11. Thedevice of claim 10, wherein the device comprises a mobile computingdevice configured to be coupled to a wireless computer network.
 12. Thedevice of claim 10, wherein the device comprises an operating systemthat is configured to be superseded by a folio execution application.13. The device of claim 10, wherein the device comprises an operatingsystem that is configured to execute a folio execution application. 14.The device of claim 10, wherein the conditional operating parametercomprises a condition for execution predicated upon credentials of auser associated with the device that is attempting to execute theobject.
 15. The device of claim 10, wherein the conditional operatingparameter comprises a condition for execution predicated upon theexecution of at least one different content object prior to enablingexecution of the at least one content object.
 16. A computer-basedmethod of providing content to a computing device, the methodcomprising: a step for establishing a first folio for content at a folioserver computer; a step for populating the first folio with at least onecontent object; a step for assigning the at least one content object aconditional operating parameter associated with a computing system otherthan the folio server computer such that the content object may not beexecuted unless a condition associated with the conditional operatingparameter is met, the condition satisfiable exclusively by one and onlyone executable action and predicated upon an allowed access time forenabling execution and a disallowed access time for disabling executionand predicated upon an execution status of a similar object in adifferent folio on a different computing system; a step for establishinga second folio at a remote device that is communicatively coupled to thefolio server computer; a step for downloading the at least oneconditionally-executable content object to the second folio; and a stepfor executing the conditionally-executable content object at the remotedevice if the conditional operating parameter associated with the remotedevice is met by an action of a processor associated with the remotedevice.
 17. The computer-based method of claim 16, further comprising astep for configuring the at least one conditional operating parameter asa condition for execution predicated upon the credentials of a userattempting to execute the object.
 18. The computer-based method of claim16, further comprising: a step for monitoring the execution of the atleast one object; and in response to the monitoring of the at least oneobject, a step for triggering retrieval of at least one other object.